// http.js
import {
  serve
} from '../config/config.js'
var app = getApp();

module.exports = {
  http(url, method, params = {}, contentType, needToken = true) {
    if (params.data) {
      for (let key in params.data) { // 在这里判断传过来的参数值为null，就删除这个属性
        if (params.data[key] == null || params.data[key] == 'null') {
          delete params.data[key]
        }
      }
    }
    wx.request({
      url: serve + url,
      // 判断请求类型，除了值等于'post'外，其余值均视作get其他的请求类型也可以自己加上的
      method: method == 'post' ? 'POST' : 'GET',
      data: params.data,
      timeout: 15000,
      // post请求 把header 该为 application/x-www-form-urlencoded 就可以了
      header: {
        'content-type': contentType ? contentType : method == 'get' ? 'application/x-www-form-urlencoded' : 'application/json',
        // 'content-type': 'text/plain',
        Authorization : needToken ? wx.getStorageSync('token') : ''
      },
      success(res) {
        wx.hideToast();
        if (!res.data) {
          wx.showToast({
            title: '接口失败',
            icon: 'error',
            duration: 2000
          })          
          return
        }
        // console.log(res.data.code, 'res==============================successsuccesssuccesssuccess')
        // if (res.code * 1 !== 0) {}
        params.success && params.success(res.data)
      },
      fail(err) {
        wx.showToast({
          title: '请检查网络后重试',
          icon: 'error',
          duration: 1500
        })
        params.fail && params.fail(err)
      },
      complete() {
        setTimeout(() => {
          // wx.hideLoading();
        }, 3000)
      }
    })
  }
}